1. Field of the Invention
Embodiments of the present invention relate to techniques for enhancing the availability and reliability of computer systems. More specifically, embodiments of the present invention relate to a method and an apparatus for estimating the value of a sample from a virtual sensor.
2. Related Art
As electronic commerce grows more prevalent, businesses increasingly rely on enterprise computing systems to process ever-larger volumes of electronic transactions. A failure in one of these enterprise computing systems can be disastrous, potentially resulting in millions of dollars of lost business. More importantly, a failure can seriously undermine consumer confidence in a business, making customers less likely to purchase goods and services from the business. Hence, it is critically important to ensure high availability in such enterprise computing systems.
To achieve high availability in enterprise computing systems it is necessary to be able to capture unambiguous diagnostic information that can quickly pinpoint the source of defects in hardware or software. Hence, some high-end servers contain hundreds of physical sensors that measure temperatures, voltages, and currents throughout the system. These high-end servers can also include software sensors that monitor system performance information such as loads, throughputs, and transaction latencies.
These sensors help to protect the system by making it possible for the system to detect when one or more parameters are out of bounds. If the system detects that one or more parameters are out of bounds, the system can generate an alarm and, if necessary, can shut down a component, a system board, a domain, or the entire system. This is typically accomplished by applying threshold limits to signals received from the physical sensors and/or the software sensors. In this way, if a system parameter strays outside of an allowable range, an alarm can be activated and protective measures can be taken.
As computer systems become more complex, it is desirable to provide more monitoring sensors. Unfortunately, additional physical sensors are costly. They also require support hardware (such as analog-to-digital (A/D) conversion chips) and consume precious real estate within the computer system. On the other hand, providing additional software sensors involves additional computational overhead. Because of these costs, system designers can face difficult choices about which system parameters should be monitored and which should be left unmonitored.
Hence, what is needed is a technique for monitoring system parameters without the above-described problems.